Java

Java's infrastructure is by far the best in Indonesia, and it's possible to cross the entire island by land in a single long day. However, the sheer density of population means that roads, buses and trains can get overcrowded if you're moving at the same time as everyone else.

By road
By road

Java's toll roads are built nearly to Western standards, with dual grade-separated lanes in both directions and elevated interchanges. Tolls are quite affordable, usually Rp 1,000-5,000 every 10 km or so. However, signage is often lacking and driving habits are atrocious, so it's very wise to pay a little extra and get a car with driver instead of attempting to drive yourself.

By train
By train

Java has the best railway network in Indonesia, with trains connecting the capital city of Jakarta with most other cities and towns in the island. The eksekutif class is the best class, and consequently the most expensive.

Ticket reservations can be made starting one month in advance. No on-line ticket reservation is available, but availability can be gleaned on PT Kereta Api's ticketing site (http://ticketing.kereta-a...).

By bus
By bus

The main form of long-distance transport, vast armadas of buses cross the island and connect every city and mountain hamlet. Watch out though, as many drivers have near-suicidal driving habits that emphasize speed above all else.